home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 41 / MOBICLIC41.ISO / pc / Data / PROM / VITRINE.CST / 00001_Script_anim mag next >
Text File  |  2001-09-07  |  2KB  |  81 lines

  1. --MODULE DE ANIMATION
  2. --Gyorgy Gutierrez, ao√t 2001
  3.  
  4. global gEtatAnimList
  5.  
  6. property sp, nm, cp, ea, nbre
  7. --sp: numero du sprite
  8. --nm: numero du magazine attribue
  9. --cp: compteur pause sur image principale
  10. --ea: etat de l'anim, en cours=1, a l'arret=0 
  11. --nbre: nombre total de magazines
  12.  
  13. on new me, mysp  
  14.   cp = 0
  15.   ea = 0
  16.   
  17.   --selection aleatoire d'un magazine  
  18.   nbre = 27
  19.   nummaganim = random(nbre)
  20.   nm = nummaganim
  21.   
  22.   --sprite a animer
  23.   sp = mysp
  24.   
  25.   return me
  26. end
  27.  
  28. on animate me
  29.   --determination des cast members correspondant aux magazine attibue
  30.   --a l'objet. Le premier et le dernier identifient l'ensemble.
  31.   first = 20 * nm + 1  --serie 21,41,61,...,601
  32.   last = first + 12  --serie 33,53,73,...,613
  33.   nomfirst = member(first,3).name
  34.   
  35.   --animation du magazine
  36.   --l'acteur courant du sprite controle par l'objet
  37.   tmp = sprite(sp).memberNum
  38.   tmp1 = tmp
  39.   --si l'on commence l'anim on attribue le premier acteur de l'anim
  40.   --etat de l'anim "en cours"
  41.   if tmp = 11 then
  42.     
  43.     --chargement en ram des acteurs de l'ensemble de la sequence
  44.     --member(nomfirst).preLoad(member(nomfirst).number + 12)
  45.     
  46.     tmp = first
  47.     ea = 1
  48.     gEtatAnimList[nm]=1
  49.     cp = 1
  50.     
  51.   else tmp = tmp + 1 --sinon on attribue le suivant
  52.   
  53.   --actions suivant ou on ce trouve dans l'anim  
  54.   if tmp > last then
  55.     --l'anim est fini on initialize l'acteur et l'etat
  56.     tmp = 11
  57.     ea = 0
  58.     gEtatAnimList[nm]=0
  59.     
  60.     --dechargement de la ram des acteurs de l'ensemble de la sequence
  61.     --si celle ci ne ne joue pas ailleurs
  62.     if gEtatAnimList[nm] = 0 then
  63.       member(nomfirst).unLoad(member(nomfirst).number + 12)
  64.     end if
  65.     
  66.     --on selectione un nouveaux magazine  
  67.     nummaganim = random(nbre)
  68.     nm = nummaganim    
  69.   else
  70.     --gestion de la pause sur l'image principale
  71.     if tmp1 = (first + 7) AND cp<=15 then  -- si temp inferieur a pause
  72.       tmp = tmp1  --on ne change pas d'acteur
  73.       cp = cp + 1
  74.     else
  75.       cp = 0
  76.     end if
  77.   end if
  78.   
  79.   --nouvel acteur attribue au sprite
  80.   sprite(sp).memberNum = tmp    
  81. end